This invention relates to data processing, and in particular relates to processing and storing transaction information.
A business that interacts with large numbers of customers and clients, over a variety of channels including telephone, mail, and in person, may log those interactions. This logged information can be used for a variety of reasons including providing better service to the customers and clients and identifying existing customers and clients to whom new services should be offered. In a telephone call center interaction, for example, the information on a caller's recent interactions may be displayed to an agent handling the call. Today, basic information about a call may be provided on a computer screen as a "screen pop" for the agent receiving the call. For example, the calling number obtained through the telephone network can be used to look up a customer record and that record can be displayed to the agent.
When a single customer can interact with the business over a variety of channels, the transaction records from the various channels must be merged to provide a complete record for that customer. However, the systems used to support these different channels may be independent and not share common databases or other infrastructure. Merging the transaction records may require considerable effort and data processing infrastructure. Furthermore, the procedures used to merge the records may be specific to a particular business.
Recently, organizations have recognized that substantial amounts of valuable business information can be obtained by "mining" their transaction records and other customer databases. The result of this type of mining often identifies trends or is used to segment the customer base. An example of this segmentation might be identifying a subset of customers to target in an outbound telemarketing campaign. As in the case of merging transaction records, the procedures for data mining may also be specific to a particular business.
Customization of systems for handling transaction information can be accomplished using a variety of approaches. The system can be entirely custom built for a business to address its particular requirements. This is costly and increases the effort required for ongoing customization. The system can be built to address the requirements of a particular business using a software "toolbox" that includes reusable components that are applicable to different business. Customizable systems have also used the concept of "meta data" that define the customized aspects of the system. These meta data are then interpreted at runtime to access the custom aspects of the system. Such a meta data approach can be computationally inefficient and may not support scaling to very large systems. In addition, since all customized access to the system must use the meta data, access software must be aware of the meta data. This may limit the type of access software used to interact with the system.